package Practice;

public class Test2 {
    public static void main(String[] args) {
        //判断101~200之间有多少个素数，并输出所有素数
        //思路1：循环2~这个数字-1，看有没有数字可以整除

        //1 boolean flag=true;
        //放在外面的话，flag不进入循环只能执行一次
        int count =0;
        for (int i = 101; i <=200; i++) {
            //  2boolean flag=true;
            boolean flag=true;
            //要把Boolean放在循环内，每一次都要标识一次进行判断
            for (int j = 2; j <i ; j++) {
                if(i%j==0){
                    flag=false;
                    break;
                    //跳出单层循环，当flag循环结束后整个循环体结束
                    //使用break是提高效率

                    //关键字continue和break
                    //continue是表示结束当前循环，继续下一个循环
                    //break表示直接结束整个循环
                }
            }
            if(flag){
                System.out.println(i+"是质数");
                count++;
            }
        }
        System.out.println("一共有"+count+"个质数");
//        //原来是判断一个数字是否为素数，如下
//        int i=100;
//        boolean flag=true;
//        for (int j = 1; j < i; j++) {
//            if(i%j==0){
//                System.out.println("这个数字不是质数");
//                flag=false;
//                break;
//                //跳出单个循环，内层
//            }
//        }
//        if(flag==true){
//            //这里可以写==，也可以直接写flag，切记不能只写一个=，一个=是赋值
//            System.out.println("这个数字是质数");
//        }
    }
}
